import faker from 'faker';
import { Mappable } from './CustomMap';

//implements关键字，满足接口，告诉TS帮助检测类有没有正确的满足接口的实现，没有时会显示错误
export class User implements Mappable {
  //用户名字
  name: string;
  //用户位置信息
  location: {
    //经纬度
    lat: number;
    lng: number;
  };
  color: string;

  //初始化属性
  constructor() {
    //使用faker里面的name模块随机生成名称
    this.name = faker.name.firstName();
    this.location = {
      //将latitude()返回的字符串转为带有小数的数值
      lat: parseFloat(faker.address.latitude()),
      lng: parseFloat(faker.address.longitude())
    };
  }

  //返回信息窗口的文本内容方法
  markerContent(): string {
    return `用户名： ${this.name}`;
  }
}
